//============================================================
//
//
//! \file audio.h
//! A audio resource.
//
//
//============================================================
#ifndef _CORE_AUDIOSYSTEM_AUDIO__H_
#define _CORE_AUDIOSYSTEM_AUDIO__H_



#include "resource.h"



#include <fmod.h> 
#include <fmod.hpp>
#include <string>
#include <vector>
#include "fmod_errors.h"


namespace core
{
		
		class Audio;
		typedef boost::shared_ptr<Audio>	AudioPtr;
		

		class Audio : public Resource
		{
				public:
						Audio() : m_Sound(NULL), m_IsMusic(false) {}
						virtual ~Audio();

						void		LoadAudio( const std::string& p_FileName, bool p_IsMusic );
						FMOD::Sound*		GetSound() { return( m_Sound ); }
						int							GetChannel() const { return( m_Channel ); }
						void						SetChannel( int p_Channel ) { m_Channel = p_Channel; }

				protected:
						int							m_Channel;
						bool						m_IsMusic;
						FMOD::Sound*		m_Sound;
		};


};




#endif // #ifndef _CORE_AUDIOSYSTEM_AUDIO__H_
